package ${package.Service};

import com.github.pagehelper.Page;
import com.sieiot.goodknow.base.stable.api.PageQO;
import ${package.Entity}.${entity};
import ${superServiceClassPackage};

import java.util.List;

/**
 * <p>
 * ${table.comment!} 服务类
 * </p>
 *
 * @author ${author}
 * @since ${date}
 */
<#if kotlin>
interface ${table.serviceName} : ${superServiceClass}<${entity}>
<#else>
public interface ${table.serviceName} extends ${superServiceClass}<${entity}> {

    /**
     * 新增
     * @param ${entity?uncap_first} 新增操作的数据对象
     * @return boolean
     */
    boolean insert(${entity} ${entity?uncap_first});

    /**
     * 按主键修改记录
     * @param ${entity?uncap_first} 更新操作的数据对象
     * @return boolean
     */
    boolean update(${entity} ${entity?uncap_first});

    /**
     * 按主键删除记录
     * @param id 主键
     * @return boolean
     */
    boolean deleteById(Long id);

    /**
     * 主键条件查询记录
     * @param id 主键
     * @return ${entity}
     */
    ${entity} queryById(Long id);


    /**
     * 多条件查询，返回列表数据
     * @param idList 多主键
     * @return List
     */
    List<${entity}> queryByIds(List<Long> idList);

    /**
     * 分页查询数据
     * @param pageQO 多条件查询对象
     * @return Page<${entity}>
     */
    Page<${entity}> pageQuery(PageQO<${entity}> pageQO);

}
</#if>
